package com.itheima.a09threadsafe1;

public class MyThread extends Thread {

    //所有线程对象共享的，一起卖100张票
    static int ticket;

    //创建锁对象，必须是static修饰的，保证只有一份锁对象
    //一般可以直接用本类的class属性表示，因为class属性是静态的，只有一份。
//    static Object obj = new Object();

    @Override
    public void run() {
        while (true){
            synchronized (MyThread.class) {
                ticket++;
                if(ticket <=100){
                    try {
                        Thread.sleep(10);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                    System.out.println(getName() + "---" + ticket);
                    Thread.yield();
                }else {
                    break;
                }
            }
        }
    }
}
